package com.nanhai.buddhist.college.module.study.controller.admin.classclockrecord.vo;

import com.nanhai.buddhist.college.framework.common.pojo.PageParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

import static com.nanhai.buddhist.college.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("管理后台 - 打卡记录分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ClockRecordPageReqVO extends PageParam {

    @ApiModelProperty(value = "星期")
    private Integer weekId;

    @ApiModelProperty(value = "班级ID")
    private String classesId;

    @ApiModelProperty(value = "课程ID")
    private String subjectId;

    @ApiModelProperty(value = "教室信息")
    private String roomId;

    @ApiModelProperty(value = "打卡类型")
    private String clockType;

    @ApiModelProperty(value = "打卡人id")
    private String clockUserId;

    @ApiModelProperty(value = "帮打卡人id")
    private String helpClockId;
    @ApiModelProperty(value = "打卡姓名")
    private String clockUserName;

    @ApiModelProperty("联系电话")
    private String userPhone;

    @ApiModelProperty(value = "打卡状态")
    private String clockStatus;

    @ApiModelProperty(value = "打卡时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private  Date[] clockTime;

    @ApiModelProperty(value = "查询结束时间")
    private String clockEndTime;

    @ApiModelProperty(value = "查询开始时间")
    private String clockStartTime;

    @ApiModelProperty(value = "查询结束时间",hidden = true)
    private Date clockEndTimeDate;

    @ApiModelProperty(value = "查询开始时间",hidden = true)
    private Date clockStartTimeDate;


    @ApiModelProperty(value = "学院id")
    private String collegeId;
    @ApiModelProperty(value = "系部id")
    private String departmentsId;

    @ApiModelProperty(value = "专业id")
    private String professionId;

    @ApiModelProperty(value = "教师id  教师端传入")
    private String teacherId;

    @ApiModelProperty(value = "查询角色 ")
    private Integer role;

    @ApiModelProperty(value = "班级IDs 用于教师 自己班级学生的打卡" ,hidden = true)
    private List<String> classesIds;

    @ApiModelProperty(value = "教学计划id")
    private String studyPlanId;

    @ApiModelProperty(value = "学期下标")
    private Integer semesterIndex;

    @ApiModelProperty(value = "查询第几周数据")
    private Integer weekNo;


    @ApiModelProperty(value = "周期数查询结束时间",hidden = true)
    private Date weekEndTimeDate;

    @ApiModelProperty(value = "周期数查询开始时间",hidden = true)
    private Date weekStartTimeDate;

}
